<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Application Programming Interface (API)</title>
<link href="tabs.css" rel="stylesheet" type="text/css" />
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="alias.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="alias.js"></script>

<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>



<script type="text/javascript">
  jQuery(document).ready(function () {
    if(gref){ // Number all _img and _table classes
      gref();
    }
  });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->

<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">nRF Enhanced Shockburst
   &#160;<span id="projectnumber">version 0.4.2</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('group__esb__02__api.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#enum-members">Enumerations</a>  </div>
  <div class="headertitle">
<div class="title">Application Programming Interface (API)</div>  </div>
<div class="ingroups"><a class="el" href="group__modules__02__esb.html">Enhanced ShockBurst</a></div></div>
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga86fb552224a080814a7e3ac856b57be3">nrf_esb_mode_t</a> { <a class="el" href="group__esb__02__api.html#gga86fb552224a080814a7e3ac856b57be3a0fc486926b06e9107d3f7459532f7713">NRF_ESB_MODE_PTX</a>, 
<a class="el" href="group__esb__02__api.html#gga86fb552224a080814a7e3ac856b57be3acea8d8b1efbb200a93e5438a8a21bd39">NRF_ESB_MODE_PRX</a>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumerator used for selecting the ESB mode.  <a href="group__esb__02__api.html#ga86fb552224a080814a7e3ac856b57be3">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga22b4239274a204804ec90a75464af66c">nrf_esb_packet_t</a> { <a class="el" href="group__esb__02__api.html#gga22b4239274a204804ec90a75464af66ca5e01e008cf46eeb426a18660bff8523c">NRF_ESB_PACKET_USE_ACK</a>, 
<a class="el" href="group__esb__02__api.html#gga22b4239274a204804ec90a75464af66caaaff00d187cdd6c74a727dda75e9659b">NRF_ESB_PACKET_NO_ACK</a>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumerator used for selecting TX packet type used in PTX mode.  <a href="group__esb__02__api.html#ga22b4239274a204804ec90a75464af66c">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gad2f71a66caf0510ecfe2f5efd604eafb">nrf_esb_base_address_length_t</a> { <a class="el" href="group__esb__02__api.html#ggad2f71a66caf0510ecfe2f5efd604eafba3eb543d84d839038b94ca1383e845d5e">NRF_ESB_BASE_ADDRESS_LENGTH_2B</a>, 
<a class="el" href="group__esb__02__api.html#ggad2f71a66caf0510ecfe2f5efd604eafbaade7c7db59c4d838798e37d9a8a4201b">NRF_ESB_BASE_ADDRESS_LENGTH_3B</a>, 
<a class="el" href="group__esb__02__api.html#ggad2f71a66caf0510ecfe2f5efd604eafbabb9b2ba7abf7943c93ac48740022558d">NRF_ESB_BASE_ADDRESS_LENGTH_4B</a>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumerator used for selecting the base address length.  <a href="group__esb__02__api.html#gad2f71a66caf0510ecfe2f5efd604eafb">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga8256184eed90f88914d9a90bd85b5d98">nrf_esb_output_power_t</a> { <br/>
&#160;&#160;<a class="el" href="group__esb__02__api.html#gga8256184eed90f88914d9a90bd85b5d98a64dee006569b72203be78adcc710da46">NRF_ESB_OUTPUT_POWER_4_DBM</a>, 
<a class="el" href="group__esb__02__api.html#gga8256184eed90f88914d9a90bd85b5d98ab0a5bdca886a3fd20036ae12684a84dc">NRF_ESB_OUTPUT_POWER_0_DBM</a>, 
<a class="el" href="group__esb__02__api.html#gga8256184eed90f88914d9a90bd85b5d98ace28766caf20daf01fcd298e697e7046">NRF_ESB_OUTPUT_POWER_N4_DBM</a>, 
<a class="el" href="group__esb__02__api.html#gga8256184eed90f88914d9a90bd85b5d98a1bca8e99300503df877a746d28e82f6b">NRF_ESB_OUTPUT_POWER_N8_DBM</a>, 
<br/>
&#160;&#160;<a class="el" href="group__esb__02__api.html#gga8256184eed90f88914d9a90bd85b5d98a052ca5c7daa96d8299433615c537cfcb">NRF_ESB_OUTPUT_POWER_N12_DBM</a>, 
<a class="el" href="group__esb__02__api.html#gga8256184eed90f88914d9a90bd85b5d98ae39bf0e9287338af77669ccb0a9093a0">NRF_ESB_OUTPUT_POWER_N16_DBM</a>, 
<a class="el" href="group__esb__02__api.html#gga8256184eed90f88914d9a90bd85b5d98a19e4aa7cfbe6e3d40123b85b540465b1">NRF_ESB_OUTPUT_POWER_N20_DBM</a>
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumerator used for selecting the TX output power.  <a href="group__esb__02__api.html#ga8256184eed90f88914d9a90bd85b5d98">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga1c8ae2c90a475b46c43582f051aff4c3">nrf_esb_datarate_t</a> { <a class="el" href="group__esb__02__api.html#gga1c8ae2c90a475b46c43582f051aff4c3a5cd874f2d37a18663e366c1cd1bfa796">NRF_ESB_DATARATE_250_KBPS</a>, 
<a class="el" href="group__esb__02__api.html#gga1c8ae2c90a475b46c43582f051aff4c3a7d2cbbef6e9f49f752bdc8f72c805133">NRF_ESB_DATARATE_1_MBPS</a>, 
<a class="el" href="group__esb__02__api.html#gga1c8ae2c90a475b46c43582f051aff4c3a8739754b95a1ce7d4e9178d076b213cf">NRF_ESB_DATARATE_2_MBPS</a>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumerator used for selecting the radio data rate.  <a href="group__esb__02__api.html#ga1c8ae2c90a475b46c43582f051aff4c3">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga8ac1d67fc30ee4054d657b595be8e5a3">nrf_esb_crc_length_t</a> { <a class="el" href="group__esb__02__api.html#gga8ac1d67fc30ee4054d657b595be8e5a3ac075f5f08c33854b7c810a704be73d36">NRF_ESB_CRC_OFF</a>, 
<a class="el" href="group__esb__02__api.html#gga8ac1d67fc30ee4054d657b595be8e5a3a93b6dc5536fad26653346a6ad19a9a48">NRF_ESB_CRC_LENGTH_1_BYTE</a>, 
<a class="el" href="group__esb__02__api.html#gga8ac1d67fc30ee4054d657b595be8e5a3a88781c382ff471cb6d5b599f608fe0aa">NRF_ESB_CRC_LENGTH_2_BYTE</a>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumerator used for selecting the CRC length.  <a href="group__esb__02__api.html#ga8ac1d67fc30ee4054d657b595be8e5a3">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
General API functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga155377fe2e8a0b40352c21a5ec7979ec">nrf_esb_init</a> (<a class="el" href="group__esb__02__api.html#ga86fb552224a080814a7e3ac856b57be3">nrf_esb_mode_t</a> mode)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize ESB.  <a href="#ga155377fe2e8a0b40352c21a5ec7979ec"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gaa7f7be8b058378a3b31d38ce88e0600f">nrf_esb_enable</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable ESB.  <a href="#gaa7f7be8b058378a3b31d38ce88e0600f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga1888b9ea163638d761af804e89de4122">nrf_esb_disable</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable ESB.  <a href="#ga1888b9ea163638d761af804e89de4122"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga416a6ef0fc94e7df9054e71c8784095a">nrf_esb_tx_success</a> (uint32_t tx_pipe, int32_t rssi)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">TX success callback.  <a href="#ga416a6ef0fc94e7df9054e71c8784095a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga03993c4e0419bbcac77aa0965ecce6ad">nrf_esb_tx_failed</a> (uint32_t tx_pipe)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">TX failed callback (PTX mode only).  <a href="#ga03993c4e0419bbcac77aa0965ecce6ad"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gab3042dde4c3151c1517f4998378f52ce">nrf_esb_rx_data_ready</a> (uint32_t rx_pipe, int32_t rssi)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">RX data ready callback.  <a href="#gab3042dde4c3151c1517f4998378f52ce"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga5e82709bd23aa952a883db3af5b987e0">nrf_esb_disabled</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Disabled callback.  <a href="#ga5e82709bd23aa952a883db3af5b987e0"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
Packet transmission and receiving functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga23388e992626680973998c4485ab680a">nrf_esb_add_packet_to_tx_fifo</a> (uint32_t pipe, const uint8_t *payload, uint32_t payload_length, <a class="el" href="group__esb__02__api.html#ga22b4239274a204804ec90a75464af66c">nrf_esb_packet_t</a> packet_type)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a packet to the tail of the TX FIFO.  <a href="#ga23388e992626680973998c4485ab680a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gaef1dcdb47f1c29b01badecdeb6fb3459">nrf_esb_fetch_packet_from_rx_fifo</a> (uint32_t pipe, uint8_t *payload, uint32_t *payload_length)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Fetch a packet from the head of the RX FIFO.  <a href="#gaef1dcdb47f1c29b01badecdeb6fb3459"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gad20351036a910b022d8bad4f802110fb">nrf_esb_get_tx_fifo_packet_count</a> (uint32_t pipe)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of packets residing in the TX FIFO on a specific pipe.  <a href="#gad20351036a910b022d8bad4f802110fb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga531356c6c3ab315135ab4cf1c1f776fb">nrf_esb_get_rx_fifo_packet_count</a> (uint32_t pipe)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of packets residing in the RX FIFO on a specific pipe.  <a href="#ga531356c6c3ab315135ab4cf1c1f776fb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gadc578cb2ebd91e3aa3fa2769ad4cc8d2">nrf_esb_flush_tx_fifo</a> (uint32_t pipe)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Flush the RX FIFO for a specific pipe.  <a href="#gadc578cb2ebd91e3aa3fa2769ad4cc8d2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga5225a16b0da5052a4c37af8887ab1b23">nrf_esb_flush_rx_fifo</a> (uint32_t pipe)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Flush the RX FIFO for a specific pipe.  <a href="#ga5225a16b0da5052a4c37af8887ab1b23"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gae4cd52fdd23ab3a0dca21300480e0dff">nrf_esb_get_tx_attempts</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the total number of transmission attempts used for sending the previous successful packet.  <a href="#gae4cd52fdd23ab3a0dca21300480e0dff"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
Configuration functions</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrpe75440b57b1dc7501eb46533bd6cdd11"></a> Configuration 'set' functions may only be called while ESB is disabled. The new parameter comes into effect when ESB is enabled again.</p>
<p>Configuration 'get' functions may be called at any time. </p>
</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga9fc8cc49f0942c4cccd4d35d23510248">nrf_esb_set_mode</a> (<a class="el" href="group__esb__02__api.html#ga86fb552224a080814a7e3ac856b57be3">nrf_esb_mode_t</a> mode)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the mode.  <a href="#ga9fc8cc49f0942c4cccd4d35d23510248"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__esb__02__api.html#ga86fb552224a080814a7e3ac856b57be3">nrf_esb_mode_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga92cb3834b22f178c91e9f01f590c5424">nrf_esb_get_mode</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get function counterpart to <a class="el" href="group__esb__02__api.html#ga9fc8cc49f0942c4cccd4d35d23510248" title="Set the mode.">nrf_esb_set_mode()</a>.  <a href="#ga92cb3834b22f178c91e9f01f590c5424"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga5d8fbce95ff41513da85b9bd05d6452d">nrf_esb_set_base_address_length</a> (<a class="el" href="group__esb__02__api.html#gad2f71a66caf0510ecfe2f5efd604eafb">nrf_esb_base_address_length_t</a> length)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the base address length.  <a href="#ga5d8fbce95ff41513da85b9bd05d6452d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__esb__02__api.html#gad2f71a66caf0510ecfe2f5efd604eafb">nrf_esb_base_address_length_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga6a71fac6048b08b5ffcc31411d39fcec">nrf_esb_get_base_address_length</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get function counterpart to <a class="el" href="group__esb__02__api.html#ga5d8fbce95ff41513da85b9bd05d6452d" title="Set the base address length.">nrf_esb_set_base_address_length()</a>.  <a href="#ga6a71fac6048b08b5ffcc31411d39fcec"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gaeffa41d59bf749fdbbda53c2773e9754">nrf_esb_set_base_address_0</a> (uint32_t base_address)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the base address for pipe 0.  <a href="#gaeffa41d59bf749fdbbda53c2773e9754"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gaf789add12aaa6d2053d0f16df8243e01">nrf_esb_get_base_address_0</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get function counterpart to <a class="el" href="group__esb__02__api.html#gaeffa41d59bf749fdbbda53c2773e9754" title="Set the base address for pipe 0.">nrf_esb_set_base_address_0()</a>.  <a href="#gaf789add12aaa6d2053d0f16df8243e01"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gabc4e67308a18eff072b2612d516ed83d">nrf_esb_set_base_address_1</a> (uint32_t base_address)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the base address for pipes 1-7.  <a href="#gabc4e67308a18eff072b2612d516ed83d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gaede7058c7a4e4349b6abd5e097f2ba1d">nrf_esb_get_base_address_1</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get function counterpart to <a class="el" href="group__esb__02__api.html#gabc4e67308a18eff072b2612d516ed83d" title="Set the base address for pipes 1-7.">nrf_esb_set_base_address_1()</a>.  <a href="#gaede7058c7a4e4349b6abd5e097f2ba1d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga31a7b7aa543a7f84afe37145826c91f1">nrf_esb_set_address_prefix_byte</a> (uint32_t pipe, uint8_t address)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the address prefix byte for a specific pipe.  <a href="#ga31a7b7aa543a7f84afe37145826c91f1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gaa626b990775752902ba6f076e177f585">nrf_esb_get_address_prefix_byte</a> (uint32_t pipe, uint8_t *out_address)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get function counterpart to <a class="el" href="group__esb__02__api.html#ga31a7b7aa543a7f84afe37145826c91f1" title="Set the address prefix byte for a specific pipe.">nrf_esb_set_address_prefix_byte()</a>.  <a href="#gaa626b990775752902ba6f076e177f585"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga4f5a6c59b96874d036f33601343aaac2">nrf_esb_set_enabled_prx_pipes</a> (uint32_t pipes)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set which pipes the node shall listen on in PRX mode.  <a href="#ga4f5a6c59b96874d036f33601343aaac2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gac10f1854641b40ce4c54cc90db6cd22c">nrf_esb_get_enabled_prx_pipes</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get function counterpart to <a class="el" href="group__esb__02__api.html#ga4f5a6c59b96874d036f33601343aaac2" title="Set which pipes the node shall listen on in PRX mode.">nrf_esb_set_enabled_prx_pipes()</a>.  <a href="#gac10f1854641b40ce4c54cc90db6cd22c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gaf745d55ede0ad93b7e24af33e3ef9df2">nrf_esb_set_retransmit_delay</a> (uint32_t delay_us)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the retransmission delay.  <a href="#gaf745d55ede0ad93b7e24af33e3ef9df2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga8be34074d3d1ef199650b854a6d0f347">nrf_esb_get_retransmit_delay</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get function counterpart to <a class="el" href="group__esb__02__api.html#gaf745d55ede0ad93b7e24af33e3ef9df2" title="Set the retransmission delay.">nrf_esb_set_retransmit_delay()</a>.  <a href="#ga8be34074d3d1ef199650b854a6d0f347"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga8cdcef8f56272380546af260bcea0ad8">nrf_esb_set_max_number_of_tx_attempts</a> (uint16_t attempts)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the maximum number of TX attempts that can be used for a single packet.  <a href="#ga8cdcef8f56272380546af260bcea0ad8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga1dedce2516be1d372757e5c23f9fbc89">nrf_esb_get_max_number_of_tx_attempts</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get function counterpart to nrf_esb_set_max_number_of_retransmits().  <a href="#ga1dedce2516be1d372757e5c23f9fbc89"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gaca97648d85e0dcb1dde56545efb36df8">nrf_esb_set_channel</a> (uint32_t channel)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the Radio Frequency (RF) channel.  <a href="#gaca97648d85e0dcb1dde56545efb36df8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga101eacd9b8e0ad6975cd50cb7ee48fd0">nrf_esb_get_channel</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get function counterpart to <a class="el" href="group__esb__02__api.html#gaca97648d85e0dcb1dde56545efb36df8" title="Set the Radio Frequency (RF) channel.">nrf_esb_set_channel()</a>.  <a href="#ga101eacd9b8e0ad6975cd50cb7ee48fd0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga48a7e57c65a8503fce75dcac40734be9">nrf_esb_set_output_power</a> (<a class="el" href="group__esb__02__api.html#ga8256184eed90f88914d9a90bd85b5d98">nrf_esb_output_power_t</a> power)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the radio TX output power.  <a href="#ga48a7e57c65a8503fce75dcac40734be9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__esb__02__api.html#ga8256184eed90f88914d9a90bd85b5d98">nrf_esb_output_power_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gae21c80360acaf054e0010caf665454ce">nrf_esb_get_output_power</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get function counterpart to <a class="el" href="group__esb__02__api.html#ga48a7e57c65a8503fce75dcac40734be9" title="Set the radio TX output power.">nrf_esb_set_output_power()</a>.  <a href="#gae21c80360acaf054e0010caf665454ce"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga04652eea0a4f993be06dafba248d8ba6">nrf_esb_set_datarate</a> (<a class="el" href="group__esb__02__api.html#ga1c8ae2c90a475b46c43582f051aff4c3">nrf_esb_datarate_t</a> datarate)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the radio datarate.  <a href="#ga04652eea0a4f993be06dafba248d8ba6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__esb__02__api.html#ga1c8ae2c90a475b46c43582f051aff4c3">nrf_esb_datarate_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga3ac86a94e958f73fe4302958a0f6ba54">nrf_esb_get_datarate</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get function counterpart to <a class="el" href="group__esb__02__api.html#ga04652eea0a4f993be06dafba248d8ba6" title="Set the radio datarate.">nrf_esb_set_datarate()</a>.  <a href="#ga3ac86a94e958f73fe4302958a0f6ba54"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga64be2966329bb2a22f19e4146132a020">nrf_esb_set_crc_length</a> (<a class="el" href="group__esb__02__api.html#ga8ac1d67fc30ee4054d657b595be8e5a3">nrf_esb_crc_length_t</a> length)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the CRC length.  <a href="#ga64be2966329bb2a22f19e4146132a020"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__esb__02__api.html#ga8ac1d67fc30ee4054d657b595be8e5a3">nrf_esb_crc_length_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga419c9e0ba6b07300b7dd32369dcecd54">nrf_esb_get_crc_length</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get function counterpart to <a class="el" href="group__esb__02__api.html#ga64be2966329bb2a22f19e4146132a020" title="Set the CRC length.">nrf_esb_set_crc_length()</a>.  <a href="#ga419c9e0ba6b07300b7dd32369dcecd54"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
Hardware resources used by Enhanced ShockBurst</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga07ed7b06d85a6a7ac423bc02cf41eb49"></a><!-- doxytag: member="esb_02_api::NRF_ESB_HIGH_IRQ_PRIORITY" ref="ga07ed7b06d85a6a7ac423bc02cf41eb49" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga07ed7b06d85a6a7ac423bc02cf41eb49">NRF_ESB_HIGH_IRQ_PRIORITY</a>&#160;&#160;&#160;0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Interrupt priority the Gazell timer and the radio. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab03b260f47211f57ed1a8b2e6663f1b8"></a><!-- doxytag: member="esb_02_api::NRF_ESB_LOW_IRQ_PRIORITY" ref="gab03b260f47211f57ed1a8b2e6663f1b8" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gab03b260f47211f57ed1a8b2e6663f1b8">NRF_ESB_LOW_IRQ_PRIORITY</a>&#160;&#160;&#160;1</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Interrupt priority for Gazell callback functions. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga82b5492ae93911aad4d0ce6c970fe4ff"></a><!-- doxytag: member="esb_02_api::NRF_ESB_SWI_IRQn" ref="ga82b5492ae93911aad4d0ce6c970fe4ff" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga82b5492ae93911aad4d0ce6c970fe4ff">NRF_ESB_SWI_IRQn</a>&#160;&#160;&#160;SWI0_IRQn</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Software interrupt # used for callback functions. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf233b7deec5a79f7ccef3d5b98867772"></a><!-- doxytag: member="esb_02_api::NRF_ESB_SWI_IRQ_HANDLER" ref="gaf233b7deec5a79f7ccef3d5b98867772" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gaf233b7deec5a79f7ccef3d5b98867772">NRF_ESB_SWI_IRQ_HANDLER</a>&#160;&#160;&#160;SWI0_IRQHandler</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Software interrupt handler used for callback functions. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga32ecc385c3a2265e51b1e2ffaea141cc"></a><!-- doxytag: member="esb_02_api::NRF_ESB_TIMER" ref="ga32ecc385c3a2265e51b1e2ffaea141cc" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga32ecc385c3a2265e51b1e2ffaea141cc">NRF_ESB_TIMER</a>&#160;&#160;&#160;NRF_TIMER2</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer to be used as flywheel timer. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7ee8455da2667f913a6def10c58fffe4"></a><!-- doxytag: member="esb_02_api::NRF_ESB_TIMER_PERPOWER_Msk" ref="ga7ee8455da2667f913a6def10c58fffe4" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga7ee8455da2667f913a6def10c58fffe4">NRF_ESB_TIMER_PERPOWER_Msk</a>&#160;&#160;&#160;POWER_PERPOWER_TIMER2_Msk</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">PERPOWER mask for the timer. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa76745115b15013a372ef4b1eb505d5f"></a><!-- doxytag: member="esb_02_api::NRF_ESB_TIMER_IRQn" ref="gaa76745115b15013a372ef4b1eb505d5f" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gaa76745115b15013a372ef4b1eb505d5f">NRF_ESB_TIMER_IRQn</a>&#160;&#160;&#160;TIMER2_IRQn</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Interrupt # for the timer. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3a693c4c00bbbb66a88969630b20e028"></a><!-- doxytag: member="esb_02_api::NRF_ESB_TIMER_IRQ_HANDLER" ref="ga3a693c4c00bbbb66a88969630b20e028" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga3a693c4c00bbbb66a88969630b20e028">NRF_ESB_TIMER_IRQ_HANDLER</a>&#160;&#160;&#160;TIMER2_IRQHandler</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Interrupt handler for the timer. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7a62e676c4047700f4a218c43e0f1cbc"></a><!-- doxytag: member="esb_02_api::NRF_ESB_PPI_EEP0" ref="ga7a62e676c4047700f4a218c43e0f1cbc" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga7a62e676c4047700f4a218c43e0f1cbc">NRF_ESB_PPI_EEP0</a>&#160;&#160;&#160;(NRF_PPI -&gt; CH0_EEP)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gazell PPI event endpoint 0. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0171c250426379a744bb7eb124da642a"></a><!-- doxytag: member="esb_02_api::NRF_ESB_PPI_TEP0" ref="ga0171c250426379a744bb7eb124da642a" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga0171c250426379a744bb7eb124da642a">NRF_ESB_PPI_TEP0</a>&#160;&#160;&#160;(NRF_PPI -&gt; CH0_TEP)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gazell PPI task endpoint 0. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab9c0abfb1ae03d47d18c289c669e29e8"></a><!-- doxytag: member="esb_02_api::NRF_ESB_PPI_EEP1" ref="gab9c0abfb1ae03d47d18c289c669e29e8" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gab9c0abfb1ae03d47d18c289c669e29e8">NRF_ESB_PPI_EEP1</a>&#160;&#160;&#160;(NRF_PPI -&gt; CH1_EEP)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gazell PPI event endpoint 1. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5d45ed4c709669a7bcf793501976b0ff"></a><!-- doxytag: member="esb_02_api::NRF_ESB_PPI_TEP1" ref="ga5d45ed4c709669a7bcf793501976b0ff" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga5d45ed4c709669a7bcf793501976b0ff">NRF_ESB_PPI_TEP1</a>&#160;&#160;&#160;(NRF_PPI -&gt; CH1_TEP)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gazell PPI task endpoint 1. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga490f6cff2e8aa906d2b8c880039c42d2"></a><!-- doxytag: member="esb_02_api::NRF_ESB_PPI_EEP2" ref="ga490f6cff2e8aa906d2b8c880039c42d2" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga490f6cff2e8aa906d2b8c880039c42d2">NRF_ESB_PPI_EEP2</a>&#160;&#160;&#160;(NRF_PPI -&gt; CH2_EEP)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gazell PPI event endpoint 2. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa3202c41c98e7371ffc3c908b6b48da3"></a><!-- doxytag: member="esb_02_api::NRF_ESB_PPI_TEP2" ref="gaa3202c41c98e7371ffc3c908b6b48da3" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gaa3202c41c98e7371ffc3c908b6b48da3">NRF_ESB_PPI_TEP2</a>&#160;&#160;&#160;(NRF_PPI -&gt; CH2_TEP)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gazell PPI task endpoint 2. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga774fb8ac957006bc4060fac73e380a0c"></a><!-- doxytag: member="esb_02_api::NRF_ESB_PPI_CHEN_MSK_0_AND_1" ref="ga774fb8ac957006bc4060fac73e380a0c" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga774fb8ac957006bc4060fac73e380a0c">NRF_ESB_PPI_CHEN_MSK_0_AND_1</a>&#160;&#160;&#160;(0x03)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Channel enable/disable mask for PPI endpoint 0 and 1. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7f430819346e57720aa62827cf0108a2"></a><!-- doxytag: member="esb_02_api::NRF_ESB_PPI_CHEN_MSK_2" ref="ga7f430819346e57720aa62827cf0108a2" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga7f430819346e57720aa62827cf0108a2">NRF_ESB_PPI_CHEN_MSK_2</a>&#160;&#160;&#160;(0x04)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Channel enable/disable mask for PPI endpoint 2. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8116c5685a4648ffc7043cbe4c5279d0"></a><!-- doxytag: member="esb_02_api::NRF_ESB_CONST_FIFO_LENGTH" ref="ga8116c5685a4648ffc7043cbe4c5279d0" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga8116c5685a4648ffc7043cbe4c5279d0">NRF_ESB_CONST_FIFO_LENGTH</a>&#160;&#160;&#160;3</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum number of packets allowed in a TX or RX FIFO. <br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
Constant pipe and FIFO configuration</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gaf62372ca4e26125f68987d5160b710ab">NRF_ESB_CONST_PIPE_COUNT</a>&#160;&#160;&#160;8</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of TX pipes (at least one for each Device-Host pairs).  <a href="#gaf62372ca4e26125f68987d5160b710ab"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gaf62372ca4e26125f68987d5160b710ab">NRF_ESB_CONST_PIPE_COUNT</a>&#160;&#160;&#160;8</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of TX pipes (at least one for each Device-Host pairs).  <a href="#gaf62372ca4e26125f68987d5160b710ab"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5b84b59bab5bad85c0c491d0c1851808"></a><!-- doxytag: member="esb_02_api::NRF_ESB_CONST_MAX_TOTAL_PACKETS" ref="ga5b84b59bab5bad85c0c491d0c1851808" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga5b84b59bab5bad85c0c491d0c1851808">NRF_ESB_CONST_MAX_TOTAL_PACKETS</a>&#160;&#160;&#160;6</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum number of packets available for reservation at any one time. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5b84b59bab5bad85c0c491d0c1851808"></a><!-- doxytag: member="esb_02_api::NRF_ESB_CONST_MAX_TOTAL_PACKETS" ref="ga5b84b59bab5bad85c0c491d0c1851808" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga5b84b59bab5bad85c0c491d0c1851808">NRF_ESB_CONST_MAX_TOTAL_PACKETS</a>&#160;&#160;&#160;6</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum number of packets available for reservation at any one time. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6fb1ece47082353129db90fd919fe0d2"></a><!-- doxytag: member="esb_02_api::NRF_ESB_CONST_MAX_PAYLOAD_LENGTH" ref="ga6fb1ece47082353129db90fd919fe0d2" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga6fb1ece47082353129db90fd919fe0d2">NRF_ESB_CONST_MAX_PAYLOAD_LENGTH</a>&#160;&#160;&#160;32</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum allowed payload length in bytes. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6fb1ece47082353129db90fd919fe0d2"></a><!-- doxytag: member="esb_02_api::NRF_ESB_CONST_MAX_PAYLOAD_LENGTH" ref="ga6fb1ece47082353129db90fd919fe0d2" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga6fb1ece47082353129db90fd919fe0d2">NRF_ESB_CONST_MAX_PAYLOAD_LENGTH</a>&#160;&#160;&#160;32</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum allowed payload length in bytes. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae5806248d091c410f45d490532df4d1d"></a><!-- doxytag: member="esb_02_api::NRF_ESB_CONST_CALLBACK_QUEUE_LENGTH" ref="gae5806248d091c410f45d490532df4d1d" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gae5806248d091c410f45d490532df4d1d">NRF_ESB_CONST_CALLBACK_QUEUE_LENGTH</a>&#160;&#160;&#160;10</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum number of notifications allowed in the callback queue. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae5806248d091c410f45d490532df4d1d"></a><!-- doxytag: member="esb_02_api::NRF_ESB_CONST_CALLBACK_QUEUE_LENGTH" ref="gae5806248d091c410f45d490532df4d1d" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gae5806248d091c410f45d490532df4d1d">NRF_ESB_CONST_CALLBACK_QUEUE_LENGTH</a>&#160;&#160;&#160;10</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum number of notifications allowed in the callback queue. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8a1da0840e5d996c3de1b2e8d8106db8"></a><!-- doxytag: member="esb_02_api::NRF_ESB_CONST_QUEUE_LENGTH" ref="ga8a1da0840e5d996c3de1b2e8d8106db8" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga8a1da0840e5d996c3de1b2e8d8106db8">NRF_ESB_CONST_QUEUE_LENGTH</a>&#160;&#160;&#160;3</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum number of packets allowed in a TX or RX queue. <br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
Default parameters</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafcef99e6edc62dfef2911bfdc890e0ca"></a><!-- doxytag: member="esb_02_api::NRF_ESB_DEFAULT_BASE_ADDRESS_0" ref="gafcef99e6edc62dfef2911bfdc890e0ca" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gafcef99e6edc62dfef2911bfdc890e0ca">NRF_ESB_DEFAULT_BASE_ADDRESS_0</a>&#160;&#160;&#160;0xE7E7E7E7</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default base address 0. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga59cfb19c9b5e315a74ba07645568703e"></a><!-- doxytag: member="esb_02_api::NRF_ESB_DEFAULT_BASE_ADDRESS_1" ref="ga59cfb19c9b5e315a74ba07645568703e" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga59cfb19c9b5e315a74ba07645568703e">NRF_ESB_DEFAULT_BASE_ADDRESS_1</a>&#160;&#160;&#160;0xC2C2C2C2</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default base address 1. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga03c8211748233e852a98b58d4d238e85"></a><!-- doxytag: member="esb_02_api::NRF_ESB_DEFAULT_PREFIX_BYTE_0" ref="ga03c8211748233e852a98b58d4d238e85" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga03c8211748233e852a98b58d4d238e85">NRF_ESB_DEFAULT_PREFIX_BYTE_0</a>&#160;&#160;&#160;0xE7</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default prefix address pipe 0. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5fa72f4a868d2810d07976d4db47cc69"></a><!-- doxytag: member="esb_02_api::NRF_ESB_DEFAULT_PREFIX_BYTE_1" ref="ga5fa72f4a868d2810d07976d4db47cc69" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga5fa72f4a868d2810d07976d4db47cc69">NRF_ESB_DEFAULT_PREFIX_BYTE_1</a>&#160;&#160;&#160;0xC2</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default prefix address pipe 1. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac9aad48851e99c8eafd086c320801863"></a><!-- doxytag: member="esb_02_api::NRF_ESB_DEFAULT_PREFIX_BYTE_2" ref="gac9aad48851e99c8eafd086c320801863" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gac9aad48851e99c8eafd086c320801863">NRF_ESB_DEFAULT_PREFIX_BYTE_2</a>&#160;&#160;&#160;0xC3</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default prefix address pipe 2. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9a3214ad87752cb8e30d67255b33ae11"></a><!-- doxytag: member="esb_02_api::NRF_ESB_DEFAULT_PREFIX_BYTE_3" ref="ga9a3214ad87752cb8e30d67255b33ae11" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga9a3214ad87752cb8e30d67255b33ae11">NRF_ESB_DEFAULT_PREFIX_BYTE_3</a>&#160;&#160;&#160;0xC4</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default prefix address pipe 3. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6eb892cb0f98c30329fbcc9cd556944e"></a><!-- doxytag: member="esb_02_api::NRF_ESB_DEFAULT_PREFIX_BYTE_4" ref="ga6eb892cb0f98c30329fbcc9cd556944e" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga6eb892cb0f98c30329fbcc9cd556944e">NRF_ESB_DEFAULT_PREFIX_BYTE_4</a>&#160;&#160;&#160;0xC5</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default prefix address pipe 4. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaebba95b6da169fcad5d8cef4ac2cb4a8"></a><!-- doxytag: member="esb_02_api::NRF_ESB_DEFAULT_PREFIX_BYTE_5" ref="gaebba95b6da169fcad5d8cef4ac2cb4a8" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gaebba95b6da169fcad5d8cef4ac2cb4a8">NRF_ESB_DEFAULT_PREFIX_BYTE_5</a>&#160;&#160;&#160;0xC6</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default prefix address pipe 5. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaca19d9659ad39a272547d2d353a68eb1"></a><!-- doxytag: member="esb_02_api::NRF_ESB_DEFAULT_PREFIX_BYTE_6" ref="gaca19d9659ad39a272547d2d353a68eb1" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gaca19d9659ad39a272547d2d353a68eb1">NRF_ESB_DEFAULT_PREFIX_BYTE_6</a>&#160;&#160;&#160;0xC7</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default prefix address pipe 6. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1c9f91ca88c6eb6032f9061563851456"></a><!-- doxytag: member="esb_02_api::NRF_ESB_DEFAULT_PREFIX_BYTE_7" ref="ga1c9f91ca88c6eb6032f9061563851456" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga1c9f91ca88c6eb6032f9061563851456">NRF_ESB_DEFAULT_PREFIX_BYTE_7</a>&#160;&#160;&#160;0xC8</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default prefix address pipe 7. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae63bac563a4c48309250c4b88d75be12"></a><!-- doxytag: member="esb_02_api::NRF_ESB_DEFAULT_BASE_ADDRESS_LENGTH" ref="gae63bac563a4c48309250c4b88d75be12" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gae63bac563a4c48309250c4b88d75be12">NRF_ESB_DEFAULT_BASE_ADDRESS_LENGTH</a>&#160;&#160;&#160;NRF_ESB_BASE_ADDRESS_LENGTH_4B</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default on-air base address length. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga02efa3d8eedc9a6597f02a14812b915c"></a><!-- doxytag: member="esb_02_api::NRF_ESB_DEFAULT_CRC_LENGTH" ref="ga02efa3d8eedc9a6597f02a14812b915c" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga02efa3d8eedc9a6597f02a14812b915c">NRF_ESB_DEFAULT_CRC_LENGTH</a>&#160;&#160;&#160;NRF_ESB_CRC_LENGTH_1_BYTE</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default CRC length. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga95eaf88252a4ee552748a5acca75c162"></a><!-- doxytag: member="esb_02_api::NRF_ESB_DEFAULT_ENABLED_PRX_PIPES" ref="ga95eaf88252a4ee552748a5acca75c162" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga95eaf88252a4ee552748a5acca75c162">NRF_ESB_DEFAULT_ENABLED_PRX_PIPES</a>&#160;&#160;&#160;0xFF</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default enabled RX pipes. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3fefe78b8e50dec6841ecddecbe66a53"></a><!-- doxytag: member="esb_02_api::NRF_ESB_DEFAULT_MAX_NUMBER_OF_RETRANSMITS" ref="ga3fefe78b8e50dec6841ecddecbe66a53" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga3fefe78b8e50dec6841ecddecbe66a53">NRF_ESB_DEFAULT_MAX_NUMBER_OF_RETRANSMITS</a>&#160;&#160;&#160;15</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default number of retransmits. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gade82402b8bef1671f4238847d33f239f"></a><!-- doxytag: member="esb_02_api::NRF_ESB_DEFAULT_OUTPUT_POWER" ref="gade82402b8bef1671f4238847d33f239f" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gade82402b8bef1671f4238847d33f239f">NRF_ESB_DEFAULT_OUTPUT_POWER</a>&#160;&#160;&#160;NRF_ESB_OUTPUT_POWER_0_DBM</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default TX output power. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadaaf65ba40ad9f9142c2f1a550e877b5"></a><!-- doxytag: member="esb_02_api::NRF_ESB_DEFAULT_DATARATE" ref="gadaaf65ba40ad9f9142c2f1a550e877b5" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#gadaaf65ba40ad9f9142c2f1a550e877b5">NRF_ESB_DEFAULT_DATARATE</a>&#160;&#160;&#160;NRF_ESB_DATARATE_2_MBPS</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default datarate. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8eb44cd88075f59c0dc468fa991496a2"></a><!-- doxytag: member="esb_02_api::NRF_ESB_DEFAULT_RETRANSMIT_DELAY" ref="ga8eb44cd88075f59c0dc468fa991496a2" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__esb__02__api.html#ga8eb44cd88075f59c0dc468fa991496a2">NRF_ESB_DEFAULT_RETRANSMIT_DELAY</a>&#160;&#160;&#160;600</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default retransmit delay. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf2e5bffa0e192372a921088e0d9c890e"></a><!-- doxytag: member="esb_02_api::NRF_ESB_DEFAULT_CHANNEL" ref="gaf2e5bffa0e192372a921088e0d9c890e" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>NRF_ESB_DEFAULT_CHANNEL</b>&#160;&#160;&#160;(10)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>Enhanced ShockBurst Application Programming Interface (API). </p>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="gaf62372ca4e26125f68987d5160b710ab"></a><!-- doxytag: member="nrf_esb_constants.h::NRF_ESB_CONST_PIPE_COUNT" ref="gaf62372ca4e26125f68987d5160b710ab" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NRF_ESB_CONST_PIPE_COUNT&#160;&#160;&#160;8</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Number of TX pipes (at least one for each Device-Host pairs). </p>
<p>Number of transmission pipes (at least one for each Device-Host pairs). </p>

<p>Definition at line <a class="el" href="nrf__esb__constants_8h_source.html#l00071">71</a> of file <a class="el" href="nrf__esb__constants_8h_source.html">nrf_esb_constants.h</a>.</p>

</div>
</div>
<a class="anchor" id="gaf62372ca4e26125f68987d5160b710ab"></a><!-- doxytag: member="nrf_esb_constants.h::NRF_ESB_CONST_PIPE_COUNT" ref="gaf62372ca4e26125f68987d5160b710ab" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NRF_ESB_CONST_PIPE_COUNT&#160;&#160;&#160;8</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Number of TX pipes (at least one for each Device-Host pairs). </p>
<p>Number of transmission pipes (at least one for each Device-Host pairs). </p>

<p>Definition at line <a class="el" href="nrf__esb__constants_8h_source.html#l00071">71</a> of file <a class="el" href="nrf__esb__constants_8h_source.html">nrf_esb_constants.h</a>.</p>

</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="ga86fb552224a080814a7e3ac856b57be3"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_mode_t" ref="ga86fb552224a080814a7e3ac856b57be3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__esb__02__api.html#ga86fb552224a080814a7e3ac856b57be3">nrf_esb_mode_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enumerator used for selecting the ESB mode. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="gga86fb552224a080814a7e3ac856b57be3a0fc486926b06e9107d3f7459532f7713"></a><!-- doxytag: member="NRF_ESB_MODE_PTX" ref="gga86fb552224a080814a7e3ac856b57be3a0fc486926b06e9107d3f7459532f7713" args="" -->NRF_ESB_MODE_PTX</em>&nbsp;</td><td>
<p>Primary Transmitter mode. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga86fb552224a080814a7e3ac856b57be3acea8d8b1efbb200a93e5438a8a21bd39"></a><!-- doxytag: member="NRF_ESB_MODE_PRX" ref="gga86fb552224a080814a7e3ac856b57be3acea8d8b1efbb200a93e5438a8a21bd39" args="" -->NRF_ESB_MODE_PRX</em>&nbsp;</td><td>
<p>Primary Receiver mode. </p>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="nrf__esb_8h_source.html#l00041">41</a> of file <a class="el" href="nrf__esb_8h_source.html">nrf_esb.h</a>.</p>
<div class="fragment"><pre class="fragment">{
  <a class="code" href="group__esb__02__api.html#gga86fb552224a080814a7e3ac856b57be3a0fc486926b06e9107d3f7459532f7713" title="Primary Transmitter mode.">NRF_ESB_MODE_PTX</a>,         
  <a class="code" href="group__esb__02__api.html#gga86fb552224a080814a7e3ac856b57be3acea8d8b1efbb200a93e5438a8a21bd39" title="Primary Receiver mode.">NRF_ESB_MODE_PRX</a>,         
} <a class="code" href="group__esb__02__api.html#ga86fb552224a080814a7e3ac856b57be3" title="Enumerator used for selecting the ESB mode.">nrf_esb_mode_t</a>;
</pre></div>
</div>
</div>
<a class="anchor" id="ga22b4239274a204804ec90a75464af66c"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_packet_t" ref="ga22b4239274a204804ec90a75464af66c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__esb__02__api.html#ga22b4239274a204804ec90a75464af66c">nrf_esb_packet_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enumerator used for selecting TX packet type used in PTX mode. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="gga22b4239274a204804ec90a75464af66ca5e01e008cf46eeb426a18660bff8523c"></a><!-- doxytag: member="NRF_ESB_PACKET_USE_ACK" ref="gga22b4239274a204804ec90a75464af66ca5e01e008cf46eeb426a18660bff8523c" args="" -->NRF_ESB_PACKET_USE_ACK</em>&nbsp;</td><td>
<p>PTX packet requires ACK. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga22b4239274a204804ec90a75464af66caaaff00d187cdd6c74a727dda75e9659b"></a><!-- doxytag: member="NRF_ESB_PACKET_NO_ACK" ref="gga22b4239274a204804ec90a75464af66caaaff00d187cdd6c74a727dda75e9659b" args="" -->NRF_ESB_PACKET_NO_ACK</em>&nbsp;</td><td>
<p>PTX packet does not require ACK. </p>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="nrf__esb_8h_source.html#l00053">53</a> of file <a class="el" href="nrf__esb_8h_source.html">nrf_esb.h</a>.</p>
<div class="fragment"><pre class="fragment">{
  <a class="code" href="group__esb__02__api.html#gga22b4239274a204804ec90a75464af66ca5e01e008cf46eeb426a18660bff8523c" title="PTX packet requires ACK.">NRF_ESB_PACKET_USE_ACK</a>,         
  <a class="code" href="group__esb__02__api.html#gga22b4239274a204804ec90a75464af66caaaff00d187cdd6c74a727dda75e9659b" title="PTX packet does not require ACK.">NRF_ESB_PACKET_NO_ACK</a>,          
} <a class="code" href="group__esb__02__api.html#ga22b4239274a204804ec90a75464af66c" title="Enumerator used for selecting TX packet type used in PTX mode.">nrf_esb_packet_t</a> ;
</pre></div>
</div>
</div>
<a class="anchor" id="gad2f71a66caf0510ecfe2f5efd604eafb"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_base_address_length_t" ref="gad2f71a66caf0510ecfe2f5efd604eafb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__esb__02__api.html#gad2f71a66caf0510ecfe2f5efd604eafb">nrf_esb_base_address_length_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enumerator used for selecting the base address length. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ggad2f71a66caf0510ecfe2f5efd604eafba3eb543d84d839038b94ca1383e845d5e"></a><!-- doxytag: member="NRF_ESB_BASE_ADDRESS_LENGTH_2B" ref="ggad2f71a66caf0510ecfe2f5efd604eafba3eb543d84d839038b94ca1383e845d5e" args="" -->NRF_ESB_BASE_ADDRESS_LENGTH_2B</em>&nbsp;</td><td>
<p>2 byte address length </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggad2f71a66caf0510ecfe2f5efd604eafbaade7c7db59c4d838798e37d9a8a4201b"></a><!-- doxytag: member="NRF_ESB_BASE_ADDRESS_LENGTH_3B" ref="ggad2f71a66caf0510ecfe2f5efd604eafbaade7c7db59c4d838798e37d9a8a4201b" args="" -->NRF_ESB_BASE_ADDRESS_LENGTH_3B</em>&nbsp;</td><td>
<p>3 byte address length </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggad2f71a66caf0510ecfe2f5efd604eafbabb9b2ba7abf7943c93ac48740022558d"></a><!-- doxytag: member="NRF_ESB_BASE_ADDRESS_LENGTH_4B" ref="ggad2f71a66caf0510ecfe2f5efd604eafbabb9b2ba7abf7943c93ac48740022558d" args="" -->NRF_ESB_BASE_ADDRESS_LENGTH_4B</em>&nbsp;</td><td>
<p>4 byte address length </p>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="nrf__esb_8h_source.html#l00064">64</a> of file <a class="el" href="nrf__esb_8h_source.html">nrf_esb.h</a>.</p>
<div class="fragment"><pre class="fragment">{
    <a class="code" href="group__esb__02__api.html#ggad2f71a66caf0510ecfe2f5efd604eafba3eb543d84d839038b94ca1383e845d5e" title="2 byte address length">NRF_ESB_BASE_ADDRESS_LENGTH_2B</a>,   
    <a class="code" href="group__esb__02__api.html#ggad2f71a66caf0510ecfe2f5efd604eafbaade7c7db59c4d838798e37d9a8a4201b" title="3 byte address length">NRF_ESB_BASE_ADDRESS_LENGTH_3B</a>,   
    <a class="code" href="group__esb__02__api.html#ggad2f71a66caf0510ecfe2f5efd604eafbabb9b2ba7abf7943c93ac48740022558d" title="4 byte address length">NRF_ESB_BASE_ADDRESS_LENGTH_4B</a>    
} <a class="code" href="group__esb__02__api.html#gad2f71a66caf0510ecfe2f5efd604eafb" title="Enumerator used for selecting the base address length.">nrf_esb_base_address_length_t</a>;
</pre></div>
</div>
</div>
<a class="anchor" id="ga8256184eed90f88914d9a90bd85b5d98"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_output_power_t" ref="ga8256184eed90f88914d9a90bd85b5d98" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__esb__02__api.html#ga8256184eed90f88914d9a90bd85b5d98">nrf_esb_output_power_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enumerator used for selecting the TX output power. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="gga8256184eed90f88914d9a90bd85b5d98a64dee006569b72203be78adcc710da46"></a><!-- doxytag: member="NRF_ESB_OUTPUT_POWER_4_DBM" ref="gga8256184eed90f88914d9a90bd85b5d98a64dee006569b72203be78adcc710da46" args="" -->NRF_ESB_OUTPUT_POWER_4_DBM</em>&nbsp;</td><td>
<p>4 dBm output power. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga8256184eed90f88914d9a90bd85b5d98ab0a5bdca886a3fd20036ae12684a84dc"></a><!-- doxytag: member="NRF_ESB_OUTPUT_POWER_0_DBM" ref="gga8256184eed90f88914d9a90bd85b5d98ab0a5bdca886a3fd20036ae12684a84dc" args="" -->NRF_ESB_OUTPUT_POWER_0_DBM</em>&nbsp;</td><td>
<p>0 dBm output power. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga8256184eed90f88914d9a90bd85b5d98ace28766caf20daf01fcd298e697e7046"></a><!-- doxytag: member="NRF_ESB_OUTPUT_POWER_N4_DBM" ref="gga8256184eed90f88914d9a90bd85b5d98ace28766caf20daf01fcd298e697e7046" args="" -->NRF_ESB_OUTPUT_POWER_N4_DBM</em>&nbsp;</td><td>
<p>-4 dBm output power. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga8256184eed90f88914d9a90bd85b5d98a1bca8e99300503df877a746d28e82f6b"></a><!-- doxytag: member="NRF_ESB_OUTPUT_POWER_N8_DBM" ref="gga8256184eed90f88914d9a90bd85b5d98a1bca8e99300503df877a746d28e82f6b" args="" -->NRF_ESB_OUTPUT_POWER_N8_DBM</em>&nbsp;</td><td>
<p>-8 dBm output power. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga8256184eed90f88914d9a90bd85b5d98a052ca5c7daa96d8299433615c537cfcb"></a><!-- doxytag: member="NRF_ESB_OUTPUT_POWER_N12_DBM" ref="gga8256184eed90f88914d9a90bd85b5d98a052ca5c7daa96d8299433615c537cfcb" args="" -->NRF_ESB_OUTPUT_POWER_N12_DBM</em>&nbsp;</td><td>
<p>-12 dBm output power. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga8256184eed90f88914d9a90bd85b5d98ae39bf0e9287338af77669ccb0a9093a0"></a><!-- doxytag: member="NRF_ESB_OUTPUT_POWER_N16_DBM" ref="gga8256184eed90f88914d9a90bd85b5d98ae39bf0e9287338af77669ccb0a9093a0" args="" -->NRF_ESB_OUTPUT_POWER_N16_DBM</em>&nbsp;</td><td>
<p>-16 dBm output power. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga8256184eed90f88914d9a90bd85b5d98a19e4aa7cfbe6e3d40123b85b540465b1"></a><!-- doxytag: member="NRF_ESB_OUTPUT_POWER_N20_DBM" ref="gga8256184eed90f88914d9a90bd85b5d98a19e4aa7cfbe6e3d40123b85b540465b1" args="" -->NRF_ESB_OUTPUT_POWER_N20_DBM</em>&nbsp;</td><td>
<p>-20 dBm output power. </p>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="nrf__esb_8h_source.html#l00076">76</a> of file <a class="el" href="nrf__esb_8h_source.html">nrf_esb.h</a>.</p>
<div class="fragment"><pre class="fragment">{
    <a class="code" href="group__esb__02__api.html#gga8256184eed90f88914d9a90bd85b5d98a64dee006569b72203be78adcc710da46" title="4 dBm output power.">NRF_ESB_OUTPUT_POWER_4_DBM</a>,          
    <a class="code" href="group__esb__02__api.html#gga8256184eed90f88914d9a90bd85b5d98ab0a5bdca886a3fd20036ae12684a84dc" title="0 dBm output power.">NRF_ESB_OUTPUT_POWER_0_DBM</a>,          
    <a class="code" href="group__esb__02__api.html#gga8256184eed90f88914d9a90bd85b5d98ace28766caf20daf01fcd298e697e7046">NRF_ESB_OUTPUT_POWER_N4_DBM</a>,         
    <a class="code" href="group__esb__02__api.html#gga8256184eed90f88914d9a90bd85b5d98a1bca8e99300503df877a746d28e82f6b">NRF_ESB_OUTPUT_POWER_N8_DBM</a>,         
    <a class="code" href="group__esb__02__api.html#gga8256184eed90f88914d9a90bd85b5d98a052ca5c7daa96d8299433615c537cfcb">NRF_ESB_OUTPUT_POWER_N12_DBM</a>,        
    <a class="code" href="group__esb__02__api.html#gga8256184eed90f88914d9a90bd85b5d98ae39bf0e9287338af77669ccb0a9093a0">NRF_ESB_OUTPUT_POWER_N16_DBM</a>,        
    <a class="code" href="group__esb__02__api.html#gga8256184eed90f88914d9a90bd85b5d98a19e4aa7cfbe6e3d40123b85b540465b1">NRF_ESB_OUTPUT_POWER_N20_DBM</a>         
} <a class="code" href="group__esb__02__api.html#ga8256184eed90f88914d9a90bd85b5d98" title="Enumerator used for selecting the TX output power.">nrf_esb_output_power_t</a>;
</pre></div>
</div>
</div>
<a class="anchor" id="ga1c8ae2c90a475b46c43582f051aff4c3"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_datarate_t" ref="ga1c8ae2c90a475b46c43582f051aff4c3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__esb__02__api.html#ga1c8ae2c90a475b46c43582f051aff4c3">nrf_esb_datarate_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enumerator used for selecting the radio data rate. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="gga1c8ae2c90a475b46c43582f051aff4c3a5cd874f2d37a18663e366c1cd1bfa796"></a><!-- doxytag: member="NRF_ESB_DATARATE_250_KBPS" ref="gga1c8ae2c90a475b46c43582f051aff4c3a5cd874f2d37a18663e366c1cd1bfa796" args="" -->NRF_ESB_DATARATE_250_KBPS</em>&nbsp;</td><td>
<p>250 Kbps datarate </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga1c8ae2c90a475b46c43582f051aff4c3a7d2cbbef6e9f49f752bdc8f72c805133"></a><!-- doxytag: member="NRF_ESB_DATARATE_1_MBPS" ref="gga1c8ae2c90a475b46c43582f051aff4c3a7d2cbbef6e9f49f752bdc8f72c805133" args="" -->NRF_ESB_DATARATE_1_MBPS</em>&nbsp;</td><td>
<p>1 Mbps datarate </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga1c8ae2c90a475b46c43582f051aff4c3a8739754b95a1ce7d4e9178d076b213cf"></a><!-- doxytag: member="NRF_ESB_DATARATE_2_MBPS" ref="gga1c8ae2c90a475b46c43582f051aff4c3a8739754b95a1ce7d4e9178d076b213cf" args="" -->NRF_ESB_DATARATE_2_MBPS</em>&nbsp;</td><td>
<p>1 Mbps datarate </p>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="nrf__esb_8h_source.html#l00092">92</a> of file <a class="el" href="nrf__esb_8h_source.html">nrf_esb.h</a>.</p>
<div class="fragment"><pre class="fragment">{
    <a class="code" href="group__esb__02__api.html#gga1c8ae2c90a475b46c43582f051aff4c3a5cd874f2d37a18663e366c1cd1bfa796" title="250 Kbps datarate">NRF_ESB_DATARATE_250_KBPS</a>,            
    <a class="code" href="group__esb__02__api.html#gga1c8ae2c90a475b46c43582f051aff4c3a7d2cbbef6e9f49f752bdc8f72c805133" title="1 Mbps datarate">NRF_ESB_DATARATE_1_MBPS</a>,              
    <a class="code" href="group__esb__02__api.html#gga1c8ae2c90a475b46c43582f051aff4c3a8739754b95a1ce7d4e9178d076b213cf" title="1 Mbps datarate">NRF_ESB_DATARATE_2_MBPS</a>,              
} <a class="code" href="group__esb__02__api.html#ga1c8ae2c90a475b46c43582f051aff4c3" title="Enumerator used for selecting the radio data rate.">nrf_esb_datarate_t</a>;
</pre></div>
</div>
</div>
<a class="anchor" id="ga8ac1d67fc30ee4054d657b595be8e5a3"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_crc_length_t" ref="ga8ac1d67fc30ee4054d657b595be8e5a3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__esb__02__api.html#ga8ac1d67fc30ee4054d657b595be8e5a3">nrf_esb_crc_length_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enumerator used for selecting the CRC length. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="gga8ac1d67fc30ee4054d657b595be8e5a3ac075f5f08c33854b7c810a704be73d36"></a><!-- doxytag: member="NRF_ESB_CRC_OFF" ref="gga8ac1d67fc30ee4054d657b595be8e5a3ac075f5f08c33854b7c810a704be73d36" args="" -->NRF_ESB_CRC_OFF</em>&nbsp;</td><td>
<p>CRC check disabled. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga8ac1d67fc30ee4054d657b595be8e5a3a93b6dc5536fad26653346a6ad19a9a48"></a><!-- doxytag: member="NRF_ESB_CRC_LENGTH_1_BYTE" ref="gga8ac1d67fc30ee4054d657b595be8e5a3a93b6dc5536fad26653346a6ad19a9a48" args="" -->NRF_ESB_CRC_LENGTH_1_BYTE</em>&nbsp;</td><td>
<p>CRC check set to 8-bit. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga8ac1d67fc30ee4054d657b595be8e5a3a88781c382ff471cb6d5b599f608fe0aa"></a><!-- doxytag: member="NRF_ESB_CRC_LENGTH_2_BYTE" ref="gga8ac1d67fc30ee4054d657b595be8e5a3a88781c382ff471cb6d5b599f608fe0aa" args="" -->NRF_ESB_CRC_LENGTH_2_BYTE</em>&nbsp;</td><td>
<p>CRC check set to 16-bit. </p>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="nrf__esb_8h_source.html#l00104">104</a> of file <a class="el" href="nrf__esb_8h_source.html">nrf_esb.h</a>.</p>
<div class="fragment"><pre class="fragment">{
    <a class="code" href="group__esb__02__api.html#gga8ac1d67fc30ee4054d657b595be8e5a3ac075f5f08c33854b7c810a704be73d36" title="CRC check disabled.">NRF_ESB_CRC_OFF</a>,            
    <a class="code" href="group__esb__02__api.html#gga8ac1d67fc30ee4054d657b595be8e5a3a93b6dc5536fad26653346a6ad19a9a48" title="CRC check set to 8-bit.">NRF_ESB_CRC_LENGTH_1_BYTE</a>,  
    <a class="code" href="group__esb__02__api.html#gga8ac1d67fc30ee4054d657b595be8e5a3a88781c382ff471cb6d5b599f608fe0aa" title="CRC check set to 16-bit.">NRF_ESB_CRC_LENGTH_2_BYTE</a>   
} <a class="code" href="group__esb__02__api.html#ga8ac1d67fc30ee4054d657b595be8e5a3" title="Enumerator used for selecting the CRC length.">nrf_esb_crc_length_t</a>;
</pre></div>
</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga155377fe2e8a0b40352c21a5ec7979ec"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_init" ref="ga155377fe2e8a0b40352c21a5ec7979ec" args="(nrf_esb_mode_t mode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool nrf_esb_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__esb__02__api.html#ga86fb552224a080814a7e3ac856b57be3">nrf_esb_mode_t</a>&#160;</td>
          <td class="paramname"><em>mode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initialize ESB. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">mode</td><td>The mode to initialize ESB in.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>If ESB initialized. </td></tr>
    <tr><td class="paramname">false</td><td>If ESB failed to initialize. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaa7f7be8b058378a3b31d38ce88e0600f"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_enable" ref="gaa7f7be8b058378a3b31d38ce88e0600f" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void nrf_esb_enable </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enable ESB. </p>
<p>Equivalent to setting CE high in legacy ESB.</p>
<p>When enabled the behaviour described for the current ESB mode will apply. </p>

</div>
</div>
<a class="anchor" id="ga1888b9ea163638d761af804e89de4122"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_disable" ref="ga1888b9ea163638d761af804e89de4122" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void nrf_esb_disable </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Disable ESB. </p>
<p>Equivalent to setting CE low in legacy ESB.</p>
<p>When calling this function ESB will begin disabling, and be fully disabled when ESB calls <a class="el" href="group__esb__02__api.html#ga5e82709bd23aa952a883db3af5b987e0" title="Disabled callback.">nrf_esb_disabled()</a>. However, if there are any pending notifications to be sent to the application these will still be sent after ESB has been disabled. </p>

</div>
</div>
<a class="anchor" id="ga416a6ef0fc94e7df9054e71c8784095a"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_tx_success" ref="ga416a6ef0fc94e7df9054e71c8784095a" args="(uint32_t tx_pipe, int32_t rssi)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void nrf_esb_tx_success </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>tx_pipe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>rssi</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>TX success callback. </p>
<p>In PTX mode this function is called after the PTX has sent a packet and received the corresponding ACK packet from a PRX.</p>
<p>In PRX mode this function is called after a payload in ACK is assumed successfully transmitted, that is when the PRX received a new packet (new PID or CRC) and the previous ACK sent to a PTX contained a payload.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">tx_pipe</td><td>The pipe on which the ACK packet was received.</td></tr>
    <tr><td class="paramname">rssi</td><td>Received signal strength indicator in dBm of measured ACK. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="main__esb__prx__ack__payload_8c_source.html#l00093">93</a> of file <a class="el" href="main__esb__prx__ack__payload_8c_source.html">main_esb_prx_ack_payload.c</a>.</p>
<div class="fragment"><pre class="fragment">{
    <span class="comment">// Read buttons and load ACK payload into TX queue</span>
    <a class="code" href="group__esb__prx__example.html#ga996dd574db6502532d3ca245aa0dd8f8" title="Payload to send to PRX.">my_tx_payload</a>[0] = <a class="code" href="group__nrf__gpio.html#ga40bee84dc81b9f8981eb2647dac9d267" title="Read GPIO port.">nrf_gpio_port_read</a>(<a class="code" href="group__esb__prx__example.html#ga2a2f690f8bdeeb4003203ff5e3edaffc" title="GPIO port for reading from buttons.">BUTTONS</a>);
    (void)<a class="code" href="group__esb__02__api.html#ga23388e992626680973998c4485ab680a" title="Add a packet to the tail of the TX FIFO.">nrf_esb_add_packet_to_tx_fifo</a>(<a class="code" href="group__esb__prx__example.html#gae28843c923b3481f8a94798e7ccba523" title="We use pipe 0 in this example.">PIPE_NUMBER</a>, <a class="code" href="group__esb__prx__example.html#ga996dd574db6502532d3ca245aa0dd8f8" title="Payload to send to PRX.">my_tx_payload</a>, <a class="code" href="group__esb__prx__example.html#gaed1097d348540e6d609ced933dfaa26b" title="We use 1 byte payload length when transmitting.">TX_PAYLOAD_LENGTH</a>, <a class="code" href="group__esb__02__api.html#gga22b4239274a204804ec90a75464af66ca5e01e008cf46eeb426a18660bff8523c" title="PTX packet requires ACK.">NRF_ESB_PACKET_USE_ACK</a>);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ga03993c4e0419bbcac77aa0965ecce6ad"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_tx_failed" ref="ga03993c4e0419bbcac77aa0965ecce6ad" args="(uint32_t tx_pipe)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void nrf_esb_tx_failed </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>tx_pipe</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>TX failed callback (PTX mode only). </p>
<p>This is called after the maximum number of TX attempts were reached for a packet.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">tx_pipe</td><td>The pipe that failed to send a packet. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="main__esb__prx__ack__payload_8c_source.html#l00114">114</a> of file <a class="el" href="main__esb__prx__ack__payload_8c_source.html">main_esb_prx_ack_payload.c</a>.</p>
<div class="fragment"><pre class="fragment">{}
</pre></div>
</div>
</div>
<a class="anchor" id="gab3042dde4c3151c1517f4998378f52ce"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_rx_data_ready" ref="gab3042dde4c3151c1517f4998378f52ce" args="(uint32_t rx_pipe, int32_t rssi)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void nrf_esb_rx_data_ready </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>rx_pipe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>rssi</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>RX data ready callback. </p>
<p>PTX mode: This is called after an ACK is received from a PRX containing a payload.</p>
<p>PRX mode: This is called after a packet is received from a PTX ACK is received from a PRX containing a payload.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">rx_pipe</td><td>is the pipe on which a packet was received. This value must be &lt; NRF_ESB_CONST_PIPE_COUNT.</td></tr>
    <tr><td class="paramname">rssi</td><td>Received signal strength indicator in dBm of packet.</td></tr>
  </table>
  </dd>
</dl>
<ul>
<li>true High signal strength. </li>
<li>false Low signal strength. </li>
</ul>

<p>Definition at line <a class="el" href="main__esb__prx__ack__payload_8c_source.html#l00101">101</a> of file <a class="el" href="main__esb__prx__ack__payload_8c_source.html">main_esb_prx_ack_payload.c</a>.</p>
<div class="fragment"><pre class="fragment">{
    uint32_t my_rx_payload_length;
    
    <span class="comment">// Fetch packet and write first byte of the payload to the GPIO port.</span>
    (void)<a class="code" href="group__esb__02__api.html#gaef1dcdb47f1c29b01badecdeb6fb3459" title="Fetch a packet from the head of the RX FIFO.">nrf_esb_fetch_packet_from_rx_fifo</a>(<a class="code" href="group__esb__prx__example.html#gae28843c923b3481f8a94798e7ccba523" title="We use pipe 0 in this example.">PIPE_NUMBER</a>, <a class="code" href="group__esb__prx__example.html#gacf06a0a946eb250ed4f20248181eb3c4" title="Placeholder for received ACK payloads from PRX.">my_rx_payload</a>, &amp;my_rx_payload_length);
    <span class="keywordflow">if</span> (my_rx_payload_length &gt; 0)
    {
        <a class="code" href="group__nrf__gpio.html#gac1d4940bc5ad4aad4f6363c7021b08ae" title="Write GPIO port.">nrf_gpio_port_write</a>(<a class="code" href="group__esb__prx__example.html#ga61686d33603491344883775b9b31e172" title="GPIO port for writing to LEDs.">LEDS</a>, ~<a class="code" href="group__esb__prx__example.html#gacf06a0a946eb250ed4f20248181eb3c4" title="Placeholder for received ACK payloads from PRX.">my_rx_payload</a>[0]); 
    }
}
</pre></div>
</div>
</div>
<a class="anchor" id="ga5e82709bd23aa952a883db3af5b987e0"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_disabled" ref="ga5e82709bd23aa952a883db3af5b987e0" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void nrf_esb_disabled </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Disabled callback. </p>
<p>This is called after ESB enters the disabled state. There is no further CPU use by ESB, the radio is disabled and the timer is powered down. </p>

<p>Definition at line <a class="el" href="main__esb__prx__ack__payload_8c_source.html#l00115">115</a> of file <a class="el" href="main__esb__prx__ack__payload_8c_source.html">main_esb_prx_ack_payload.c</a>.</p>
<div class="fragment"><pre class="fragment">{}
</pre></div>
</div>
</div>
<a class="anchor" id="ga23388e992626680973998c4485ab680a"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_add_packet_to_tx_fifo" ref="ga23388e992626680973998c4485ab680a" args="(uint32_t pipe, const uint8_t *payload, uint32_t payload_length, nrf_esb_packet_t packet_type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool nrf_esb_add_packet_to_tx_fifo </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pipe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint8_t *&#160;</td>
          <td class="paramname"><em>payload</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>payload_length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__esb__02__api.html#ga22b4239274a204804ec90a75464af66c">nrf_esb_packet_t</a>&#160;</td>
          <td class="paramname"><em>packet_type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a packet to the tail of the TX FIFO. </p>
<p>In PTX mode, the packet will be transmitted at the next occation when ESB is enabled. In PRX mode, the payload will be piggybacked to onto an ACK.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">payload</td><td>Pointer to the payload. </td></tr>
    <tr><td class="paramname">payload_length</td><td>The number of bytes of the payload to transmit. </td></tr>
    <tr><td class="paramname">pipe</td><td>The pipe for which to add the payload. This value must be &lt; NRF_ESB_CONST_PIPE_COUNT. </td></tr>
    <tr><td class="paramname">packet_type</td><td>Specifies whether an ACK is required (ignored when in PRX mode).</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>If the packet was successfully added to the TX FIFO. </td></tr>
    <tr><td class="paramname">false</td><td>If pipe was invalid, payload pointer was NULL, payload length was invalid, insufficient space in FIFO memory pool or insufficient packets in TX queue. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaef1dcdb47f1c29b01badecdeb6fb3459"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_fetch_packet_from_rx_fifo" ref="gaef1dcdb47f1c29b01badecdeb6fb3459" args="(uint32_t pipe, uint8_t *payload, uint32_t *payload_length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool nrf_esb_fetch_packet_from_rx_fifo </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pipe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>payload</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>payload_length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Fetch a packet from the head of the RX FIFO. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">payload</td><td>Pointer to copy the payload to. </td></tr>
    <tr><td class="paramname">payload_length</td><td>Pointer to copy the payload length to. The payload length is given in bytes (0 to NRF_ESB_CONST_MAX_PAYLOAD_LENGTH). </td></tr>
    <tr><td class="paramname">pipe</td><td>Pipe for which to add the payload. This value must be &lt; NRF_ESB_CONST_PIPE_COUNT.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>If the fetch was successful. </td></tr>
    <tr><td class="paramname">false</td><td>If there was no packet in the FIFO or the payload pointer was NULL. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gad20351036a910b022d8bad4f802110fb"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_get_tx_fifo_packet_count" ref="gad20351036a910b022d8bad4f802110fb" args="(uint32_t pipe)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_esb_get_tx_fifo_packet_count </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pipe</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the number of packets residing in the TX FIFO on a specific pipe. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pipe</td><td>The pipe for which to check. This value must be &lt; NRF_ESB_CONST_PIPE_COUNT.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">The</td><td>number of packets in the TX FIFO for the pipe. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga531356c6c3ab315135ab4cf1c1f776fb"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_get_rx_fifo_packet_count" ref="ga531356c6c3ab315135ab4cf1c1f776fb" args="(uint32_t pipe)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_esb_get_rx_fifo_packet_count </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pipe</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the number of packets residing in the RX FIFO on a specific pipe. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pipe</td><td>The pipe for which to check. This value must be &lt; NRF_ESB_CONST_PIPE_COUNT.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">The</td><td>number of packets in the RX FIFO for the pipe. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gadc578cb2ebd91e3aa3fa2769ad4cc8d2"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_flush_tx_fifo" ref="gadc578cb2ebd91e3aa3fa2769ad4cc8d2" args="(uint32_t pipe)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void nrf_esb_flush_tx_fifo </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pipe</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Flush the RX FIFO for a specific pipe. </p>
<p>Delete all the packets and free the memory of the TX FIFO for a specific pipe.</p>
<p>Note that it is not allowed to flush a TX FIFO when ESB is enabled.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pipe</td><td>The pipe for which to flush. This value must be &lt; NRF_ESB_CONST_PIPE_COUNT. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga5225a16b0da5052a4c37af8887ab1b23"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_flush_rx_fifo" ref="ga5225a16b0da5052a4c37af8887ab1b23" args="(uint32_t pipe)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void nrf_esb_flush_rx_fifo </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pipe</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Flush the RX FIFO for a specific pipe. </p>
<p>Delete all the packets and free the memory of the RX FIFO for a specific pipe.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pipe</td><td>The pipe for which to flush. This value must be &lt; NRF_ESB_CONST_PIPE_COUNT. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gae4cd52fdd23ab3a0dca21300480e0dff"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_get_tx_attempts" ref="gae4cd52fdd23ab3a0dca21300480e0dff" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t nrf_esb_get_tx_attempts </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the total number of transmission attempts used for sending the previous successful packet. </p>
<p>The value applies to the packet for which the latest nrf_esb_tx_data_sent callback was made.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of transmission attempts for the previous transmitted packet. </dd></dl>

</div>
</div>
<a class="anchor" id="ga9fc8cc49f0942c4cccd4d35d23510248"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_set_mode" ref="ga9fc8cc49f0942c4cccd4d35d23510248" args="(nrf_esb_mode_t mode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool nrf_esb_set_mode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__esb__02__api.html#ga86fb552224a080814a7e3ac856b57be3">nrf_esb_mode_t</a>&#160;</td>
          <td class="paramname"><em>mode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the mode. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">mode</td><td>The mode to be used. See nrf_esb_mode_t for a list of valid modes.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>if the mode was set properly. </td></tr>
    <tr><td class="paramname">false</td><td>if the mode is invalid. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga92cb3834b22f178c91e9f01f590c5424"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_get_mode" ref="ga92cb3834b22f178c91e9f01f590c5424" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__esb__02__api.html#ga86fb552224a080814a7e3ac856b57be3">nrf_esb_mode_t</a> nrf_esb_get_mode </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get function counterpart to <a class="el" href="group__esb__02__api.html#ga9fc8cc49f0942c4cccd4d35d23510248" title="Set the mode.">nrf_esb_set_mode()</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The current ESB mode. </dd></dl>

</div>
</div>
<a class="anchor" id="ga5d8fbce95ff41513da85b9bd05d6452d"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_set_base_address_length" ref="ga5d8fbce95ff41513da85b9bd05d6452d" args="(nrf_esb_base_address_length_t length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool nrf_esb_set_base_address_length </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__esb__02__api.html#gad2f71a66caf0510ecfe2f5efd604eafb">nrf_esb_base_address_length_t</a>&#160;</td>
          <td class="paramname"><em>length</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the base address length. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">length</td><td>The base address length.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>If the address length was set. </td></tr>
    <tr><td class="paramname">false</td><td>If the length was invalid. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga6a71fac6048b08b5ffcc31411d39fcec"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_get_base_address_length" ref="ga6a71fac6048b08b5ffcc31411d39fcec" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__esb__02__api.html#gad2f71a66caf0510ecfe2f5efd604eafb">nrf_esb_base_address_length_t</a> nrf_esb_get_base_address_length </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get function counterpart to <a class="el" href="group__esb__02__api.html#ga5d8fbce95ff41513da85b9bd05d6452d" title="Set the base address length.">nrf_esb_set_base_address_length()</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The current base_address length. </dd></dl>

</div>
</div>
<a class="anchor" id="gaeffa41d59bf749fdbbda53c2773e9754"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_set_base_address_0" ref="gaeffa41d59bf749fdbbda53c2773e9754" args="(uint32_t base_address)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool nrf_esb_set_base_address_0 </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>base_address</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the base address for pipe 0. </p>
<p>The full on-air address for each pipe is composed of a multi-byte base address and a prefix address byte.</p>
<p>For packets to be received correctly, the most significant byte of the base address should not be an alternating sequence of 0s and 1s i.e. it should not be 0x55 or 0xAA.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">base_address</td><td>is the 4 byte base address. The parameter is 4 bytes, however only the least L significant bytes are used, where L is set by <a class="el" href="group__esb__02__api.html#ga5d8fbce95ff41513da85b9bd05d6452d" title="Set the base address length.">nrf_esb_set_base_address_length()</a>.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>if base_address_0 was set. </td></tr>
    <tr><td class="paramname">false</td><td>if ESB was enabled. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaf789add12aaa6d2053d0f16df8243e01"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_get_base_address_0" ref="gaf789add12aaa6d2053d0f16df8243e01" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_esb_get_base_address_0 </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get function counterpart to <a class="el" href="group__esb__02__api.html#gaeffa41d59bf749fdbbda53c2773e9754" title="Set the base address for pipe 0.">nrf_esb_set_base_address_0()</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Base address 0. </dd></dl>

</div>
</div>
<a class="anchor" id="gabc4e67308a18eff072b2612d516ed83d"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_set_base_address_1" ref="gabc4e67308a18eff072b2612d516ed83d" args="(uint32_t base_address)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool nrf_esb_set_base_address_1 </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>base_address</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the base address for pipes 1-7. </p>
<p>Pipes 1 through 7 share base_address_1. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__esb__02__api.html#gaeffa41d59bf749fdbbda53c2773e9754" title="Set the base address for pipe 0.">nrf_esb_set_base_address_0</a>.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">base_address</td><td>is the 4 byte base address. The parameter is 4 bytes, however only the least L significant bytes are used, where L is set by <a class="el" href="group__esb__02__api.html#ga5d8fbce95ff41513da85b9bd05d6452d" title="Set the base address length.">nrf_esb_set_base_address_length()</a>.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>If base_address_1 was set. </td></tr>
    <tr><td class="paramname">false</td><td>If ESB was enabled. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaede7058c7a4e4349b6abd5e097f2ba1d"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_get_base_address_1" ref="gaede7058c7a4e4349b6abd5e097f2ba1d" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_esb_get_base_address_1 </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get function counterpart to <a class="el" href="group__esb__02__api.html#gabc4e67308a18eff072b2612d516ed83d" title="Set the base address for pipes 1-7.">nrf_esb_set_base_address_1()</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Base address 1. </dd></dl>

</div>
</div>
<a class="anchor" id="ga31a7b7aa543a7f84afe37145826c91f1"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_set_address_prefix_byte" ref="ga31a7b7aa543a7f84afe37145826c91f1" args="(uint32_t pipe, uint8_t address)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool nrf_esb_set_address_prefix_byte </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pipe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>address</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the address prefix byte for a specific pipe. </p>
<p>Each pipe should have its own unique prefix byte.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pipe</td><td>The pipe that the address should apply to. This value must be &lt; NRF_ESB_CONST_PIPE_COUNT. </td></tr>
    <tr><td class="paramname">address</td><td>The address prefix byte.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>If the address prefix byte was set. </td></tr>
    <tr><td class="paramname">false</td><td>If ESB was enabled or if the pipe was invalid. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaa626b990775752902ba6f076e177f585"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_get_address_prefix_byte" ref="gaa626b990775752902ba6f076e177f585" args="(uint32_t pipe, uint8_t *out_address)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool nrf_esb_get_address_prefix_byte </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pipe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>out_address</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get function counterpart to <a class="el" href="group__esb__02__api.html#ga31a7b7aa543a7f84afe37145826c91f1" title="Set the address prefix byte for a specific pipe.">nrf_esb_set_address_prefix_byte()</a>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pipe</td><td>the pipe for which to get the address. This value must be &lt; NRF_ESB_CONST_PIPE_COUNT. </td></tr>
    <tr><td class="paramname">out_address</td><td>is the pointer in which to return the address byte.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>If the value was set. </td></tr>
    <tr><td class="paramname">false</td><td>If ESB was enabled, or the pipe was invalid, or the out_address pointer was NULL. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga4f5a6c59b96874d036f33601343aaac2"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_set_enabled_prx_pipes" ref="ga4f5a6c59b96874d036f33601343aaac2" args="(uint32_t pipes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool nrf_esb_set_enabled_prx_pipes </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pipes</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set which pipes the node shall listen on in PRX mode. </p>
<p>This value is a bitmap, and each bit corresponds to a given pipe number. Bit 0 set to "1" enables pipes 0, bit 1 set to "1" enables pipe 1 and so forth. The maximum number of pipes is defined by NRF_CONST_ESB_PIPE_COUNT.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pipes</td><td>A bitmap specifying which pipes to monitor.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>If the bitmap was set. </td></tr>
    <tr><td class="paramname">false</td><td>If ESB was enabled. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gac10f1854641b40ce4c54cc90db6cd22c"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_get_enabled_prx_pipes" ref="gac10f1854641b40ce4c54cc90db6cd22c" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_esb_get_enabled_prx_pipes </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get function counterpart to <a class="el" href="group__esb__02__api.html#ga4f5a6c59b96874d036f33601343aaac2" title="Set which pipes the node shall listen on in PRX mode.">nrf_esb_set_enabled_prx_pipes()</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Bitmap holding the current enabled pipes. </dd></dl>

</div>
</div>
<a class="anchor" id="gaf745d55ede0ad93b7e24af33e3ef9df2"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_set_retransmit_delay" ref="gaf745d55ede0ad93b7e24af33e3ef9df2" args="(uint32_t delay_us)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool nrf_esb_set_retransmit_delay </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>delay_us</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the retransmission delay. </p>
<p>The retransmission delay is the delay from the start of a packet that failed to receive the ACK until the start of the retransmission attempt.</p>
<p>The minimum value of the retransmission delay is dependent of the radio data rate and the payload size(s).(</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__esb__02__api.html#ga04652eea0a4f993be06dafba248d8ba6" title="Set the radio datarate.">nrf_esb_set_datarate()</a>). As a rule of thumb, when using 32 byte payloads in each direction (forward and ACK):</dd></dl>
<ul>
<li>For NRF_ESB_DATARATE_2_MBPS the retransmission delay must be &gt;= 600 us.</li>
<li>For NRF_ESB_DATARATE_1_MBPS the retransmission delay must &gt;= 900 us.</li>
<li>For NRF_ESB_DATARATE_250_KBPS the retransmission delay must be &gt;= 2700 us.</li>
</ul>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">delay_us</td><td>The delay in microseconds between each retransmission attempt.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>If the retransmit delay was set. </td></tr>
    <tr><td class="paramname">false</td><td>If ESB was enabled. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga8be34074d3d1ef199650b854a6d0f347"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_get_retransmit_delay" ref="ga8be34074d3d1ef199650b854a6d0f347" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_esb_get_retransmit_delay </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get function counterpart to <a class="el" href="group__esb__02__api.html#gaf745d55ede0ad93b7e24af33e3ef9df2" title="Set the retransmission delay.">nrf_esb_set_retransmit_delay()</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The current retransmission delay. </dd></dl>

</div>
</div>
<a class="anchor" id="ga8cdcef8f56272380546af260bcea0ad8"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_set_max_number_of_tx_attempts" ref="ga8cdcef8f56272380546af260bcea0ad8" args="(uint16_t attempts)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool nrf_esb_set_max_number_of_tx_attempts </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>attempts</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the maximum number of TX attempts that can be used for a single packet. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">attempts</td><td>The maximum number of TX attempts. 0 indicates that a packet can use a infinite number of attempts.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">false</td><td>If ESB was enabled. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga1dedce2516be1d372757e5c23f9fbc89"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_get_max_number_of_tx_attempts" ref="ga1dedce2516be1d372757e5c23f9fbc89" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t nrf_esb_get_max_number_of_tx_attempts </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get function counterpart to nrf_esb_set_max_number_of_retransmits(). </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The current number of maximum retransmission attempts. </dd></dl>

</div>
</div>
<a class="anchor" id="gaca97648d85e0dcb1dde56545efb36df8"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_set_channel" ref="gaca97648d85e0dcb1dde56545efb36df8" args="(uint32_t channel)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool nrf_esb_set_channel </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>channel</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the Radio Frequency (RF) channel. </p>
<p>The valid channels are in the range 0 &lt;= channel &lt;= 125, where the actual centre frequency is (2400 + channel) MHz.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">channel</td><td>The RF Channel to use.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>false If ESB was enabled. </dd></dl>

</div>
</div>
<a class="anchor" id="ga101eacd9b8e0ad6975cd50cb7ee48fd0"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_get_channel" ref="ga101eacd9b8e0ad6975cd50cb7ee48fd0" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_esb_get_channel </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get function counterpart to <a class="el" href="group__esb__02__api.html#gaca97648d85e0dcb1dde56545efb36df8" title="Set the Radio Frequency (RF) channel.">nrf_esb_set_channel()</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The current RF channel. </dd></dl>

</div>
</div>
<a class="anchor" id="ga48a7e57c65a8503fce75dcac40734be9"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_set_output_power" ref="ga48a7e57c65a8503fce75dcac40734be9" args="(nrf_esb_output_power_t power)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool nrf_esb_set_output_power </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__esb__02__api.html#ga8256184eed90f88914d9a90bd85b5d98">nrf_esb_output_power_t</a>&#160;</td>
          <td class="paramname"><em>power</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the radio TX output power. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">power</td><td>The output power.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>false If the output_power was invalid. </dd></dl>

</div>
</div>
<a class="anchor" id="gae21c80360acaf054e0010caf665454ce"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_get_output_power" ref="gae21c80360acaf054e0010caf665454ce" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__esb__02__api.html#ga8256184eed90f88914d9a90bd85b5d98">nrf_esb_output_power_t</a> nrf_esb_get_output_power </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get function counterpart to <a class="el" href="group__esb__02__api.html#ga48a7e57c65a8503fce75dcac40734be9" title="Set the radio TX output power.">nrf_esb_set_output_power()</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The output power. </dd></dl>

</div>
</div>
<a class="anchor" id="ga04652eea0a4f993be06dafba248d8ba6"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_set_datarate" ref="ga04652eea0a4f993be06dafba248d8ba6" args="(nrf_esb_datarate_t datarate)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool nrf_esb_set_datarate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__esb__02__api.html#ga1c8ae2c90a475b46c43582f051aff4c3">nrf_esb_datarate_t</a>&#160;</td>
          <td class="paramname"><em>datarate</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the radio datarate. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">datarate</td><td>Datarate.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">false</td><td>If the datarate was invalid. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga3ac86a94e958f73fe4302958a0f6ba54"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_get_datarate" ref="ga3ac86a94e958f73fe4302958a0f6ba54" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__esb__02__api.html#ga1c8ae2c90a475b46c43582f051aff4c3">nrf_esb_datarate_t</a> nrf_esb_get_datarate </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get function counterpart to <a class="el" href="group__esb__02__api.html#ga04652eea0a4f993be06dafba248d8ba6" title="Set the radio datarate.">nrf_esb_set_datarate()</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The current datarate. </dd></dl>

</div>
</div>
<a class="anchor" id="ga64be2966329bb2a22f19e4146132a020"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_set_crc_length" ref="ga64be2966329bb2a22f19e4146132a020" args="(nrf_esb_crc_length_t length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool nrf_esb_set_crc_length </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__esb__02__api.html#ga8ac1d67fc30ee4054d657b595be8e5a3">nrf_esb_crc_length_t</a>&#160;</td>
          <td class="paramname"><em>length</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the CRC length. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">length</td><td>The CRC length.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">false</td><td>If ESB was enabled or the length was invalid. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga419c9e0ba6b07300b7dd32369dcecd54"></a><!-- doxytag: member="nrf_esb.h::nrf_esb_get_crc_length" ref="ga419c9e0ba6b07300b7dd32369dcecd54" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__esb__02__api.html#ga8ac1d67fc30ee4054d657b595be8e5a3">nrf_esb_crc_length_t</a> nrf_esb_get_crc_length </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get function counterpart to <a class="el" href="group__esb__02__api.html#ga64be2966329bb2a22f19e4146132a020" title="Set the CRC length.">nrf_esb_set_crc_length()</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The current CRC length. </dd></dl>

</div>
</div>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>

    <li class="footer">
      Copyright &copy 2006-2011 <a href="http://www.nordicsemi.no" style="text-decoration:none">Nordic Semiconductor</a>.
      All Rights Reserved.
      <a href="disclaimer.html">Disclaimer</a>
    </li>
   </ul>
 </div>


</body>
</html>
